package com.jielin.handling.entity.dzzj;

import java.util.Date;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jielin.handling.bean.base.BaseSearch;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author WIN10 警翼视频
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Video extends BaseSearch {
    private String id;				//  警翼视频信息
    private Long dataId;          	//	int	11	否	视频id
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date captureDate;   	//varchar	255	是	创建时间
    private String deviceNo;       	//	varchar	255	是	记录仪编号
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date creationDate;     	//	datetime	0	是	上传时间
    private String mediaName;      	//	varchar	255	否	文件名: 机身编号@生成日期
    private String fileName;       	//	varchar	255	是	文件别名
    private String policeNo;       	//	varchar	255	是	记录仪持有人编号
    private String 	cameraId;				// 关联的摄像头的id
    private String orgNo;         	//	varchar	255	是	组织机构编号
    private String orgName;        	//	varchar	255	是	组织机构名称
    private String fileType;       	//	varchar	255	是	文件类型
    private String serverurl;       //	varchar	255	是	文件上传的服务器地址
    private String playPosition;    //	varchar	255	是	播放相对位置
    private String thumb;           //	varchar	255	是	缩略图
    private String fileLength;     	//	varchar	255	是	文件长度(Byte)
    private Long fileDuration;     	//	int	11	是	视频的播放时间长度(ms)
    private String mediaDesc;      	//	longtext	0	是	备注
    private String uploadStationIp;	//	varchar	255	否	创建工作站ip
    private String uploadStation;  	//	varchar	255	是	创建工作站
    private String thumburlDef;    	//	varchar	255	是	默认媒体缩略图
    private String thumburl;        //	varchar	255	是	缩略图地址
    private String playurl;         //	varchar	255	是	播放地址
    private String correlationStatus; //varchar(20) NULL是否已关联 0未 1已
    private String correlationSuspectId; //关联的嫌疑人id
    private String correlationMaterialTypeId; //关联的卷宗一级目录id
    private String correlationFileId; //varchar(32) NULL关联的文件id
    private String correlationCaseCode; //varchar(32) NULL关联的案件编号
    private String policeName;
    private String policeNameAndPoliceNo;
    private String unitCodes;
    private String unitCode;
    private  String caseName;
    private String name;
    private String caseCode;
    private String[] array;
    private MultipartFile file;
    private  String  videoEquipment;
    private String suspectId;
    private String videoType;//视频类型
    private String 	videoPath;				// 笔录录像播放地址
    private String videoSource;//视频来源标识
    private String formatToTime;//转化后的时间
    private String editVideoSource;//修改之后的视频标识
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startDate;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endDate;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createDate;     	//datetime NULL创建时间
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date modifyDate;     	//datetime NULL最后一次更新时间
    private String organizationName;
    private String materialName;
    private String susNameAndTime;
    private String  state;//状态为0传入当前单位编号，状态为1传入本单位和下级所有单位编号


    private String correlationPoliceId; //关联的警员id
    private String 	watermarkPlayPosition;	// 加水印的视频播放相对位置
    private String 	watermarkThumb;			// 加水印的视频缩略图
    private String 	watermarkVideoPath;		// 加水印的视频播放地址
    private String 	watermarkThumburl;		// 加水印的视频缩略图地址
    private String 	watermarkFileLength;	// 加水印的视频文件长度(Byte)
    private String shootDirection;
    private String homeName;
    private String orgNoNew;
    private int  isMapping;
    private String roomName;
    private String cameraDirection;//房间名称/摄像头方向

    private String materialTypeId;  // 卷宗一级id
    private String documentName;    // 文件夹名称

    @Override
    public void setQueryCondition(JSONObject queryCondition) {
        this.unitCodes=queryCondition.getString("unitCodes");
        this.unitCode=queryCondition.getString("unitCode");
        this.fileType = queryCondition.getString("fileType");
        this.caseName = queryCondition.getString("caseName");
        this.caseCode=queryCondition.getString("caseCode");
        this.startDate=queryCondition.getDate("startDate");
        this.endDate=queryCondition.getDate("endDate");
        this.policeNo=queryCondition.getString("policeNo");
        this.videoType=queryCondition.getString("videoType");
        this.editVideoSource=queryCondition.getString("editVideoSource");
        this.createDate=queryCondition.getDate("createDate");
        this.orgNo=queryCondition.getString("orgNo");
        this.correlationCaseCode=queryCondition.getString("correlationCaseCode");
        this.correlationSuspectId=queryCondition.getString("correlationSuspectId");
        this.id=queryCondition.getString("id");
        this.modifyDate=queryCondition.getDate("modifyDate");
        this.videoSource=queryCondition.getString("videoSource");
        this.correlationPoliceId=queryCondition.getString("correlationPoliceId");
        this.shootDirection=queryCondition.getString("shootDirection");
        this.homeName=queryCondition.getString("homeName");




    }
}
